// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) // 使用当前云环境
//const APPID = 'wxf4ee06529e9c928a';  // 你的 AppID
const APPID = 'wxb8d697f0ee24ab73';
//const APPSECRET = '7f5b7eb0039d6d764a83d741e12f28be';  // 你的 AppSecret
const APPSECRET = '0f5bd7f218b5fafc468da9892a38d733';
// 云函数入口函数
// 引入请求库
const axios = require('axios');
exports.main = async (event, context) => {
  const wxContext = cloud.getWXContext()
  const { code } = event;  // 从前端传递过来的登录凭证 code
  try {
    // 请求微信接口获取 openid 和 session_key
    const res = await axios.get('https://api.weixin.qq.com/sns/jscode2session', {
      params: {
        appid: APPID,
        secret: APPSECRET,
        js_code: code,
        grant_type: 'authorization_code'
      }
    });

    const { openid, session_key, errcode, errmsg } = res.data;

    if (errcode) {
      throw new Error(`微信登录失败：${errmsg}`);
    }
    // 返回 openid 和 session_key，或者进一步的处理，如保存用户信息
    return {
      openid,
      session_key,
      event,
      openid: wxContext.OPENID,
      appid: wxContext.APPID,
      unionid: wxContext.UNIONID,
    };

  } catch (error) {
    console.error(error);
    return { error: '登录失败，请稍后再试' };
  }
}